Function Reference

_TS_TaskUpdate

Update a Task.

#Include <TaskScheduler.au3>
_TS_TaskUpdate($oService, $oTask, $oTaskDefinition)

 

Parameters

$oService Task Scheduler Service object as returned by _TS_Open
$oTask Registered Task object
$oTaskDefinition TaskDefinition object of the Registered Task

 

Return Value

Success: Task object
Failure: Returns 0 and sets @error:
    3301 - Parameter $oService is not an object or not an ITaskService object
    3302 - Parameter $oTask is not an object or not an IRegisteredTask object
    3303 - Error accessing $sFolder using _TS_FolderGet. @extended is set to the COM error
    3304 - Error updating the Task. @extended is set to the COM error
    3305 - Parameter $oTaskDefinition is not an object or not an ITaskDefinition object

 

Remarks

None.

 

Related

 

Example


#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#AutoIt3Wrapper_AU3Check_Stop_OnWarning=y
#AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w 7
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <TaskScheduler.au3>

Global $sTaskName = "Test-Task"
Global $sTaskFolder = "\Test"
Global $sTask = $sTaskFolder & (($sTaskFolder = "\") ? ("") : ("\")) & $sTaskName
Global $oTask = Null
Global $oTaskDefinition = Null

; *****************************************************************************
; Connect to the Task Scheduler Service
; *****************************************************************************
Global $oService = _TS_Open()
If @error <> 0 Then Exit MsgBox($MB_ICONERROR, "Task Scheduler UDF", "Error connecting to the Task Scheduler Service. @error = " & @error & ", @extended = " & @extended & @CRLF & @CRLF & _TS_ErrorText(@error))

; *****************************************************************************
; Get Task Definition
; *****************************************************************************
$oTask = _TS_TaskGet($oService, $sTask)
If @error Then Exit MsgBox($MB_ICONERROR, "_TS_TaskUpdate", "_TS_TaskGet returned @error=" & @error & ", @extended=" & @extended & @CRLF & @CRLF & _TS_ErrorText(@error))
$oTaskDefinition = $oTask.Definition

; *****************************************************************************
; Check Triggers
; *****************************************************************************
MsgBox(0, "_TS_TaskUpdate", "Triggers Count before delete: " & $oTaskDefinition.Triggers.Count, 3)

; *****************************************************************************
; Delete all but the first trigger
; *****************************************************************************
For $i = $oTaskDefinition.Triggers.Count To 2 Step -1
    _TS_TriggerDelete($oTaskDefinition, $i)
    If @error Then Exit MsgBox($MB_ICONERROR, "_TS_TaskUpdate", "_TS_TriggerDelete returned @error=" & @error & ", @extended=" & @extended & @CRLF & @CRLF & _TS_ErrorText(@error))
Next

; *****************************************************************************
; Update the task
; *****************************************************************************
$oTask = _TS_TaskUpdate($oService, $oTask, $oTaskDefinition)
If @error Then Exit MsgBox($MB_ICONERROR, "_TS_TaskUpdate", "_TS_TaskUpdate returned @error=" & @error & ", @extended=" & @extended & @CRLF & @CRLF & _TS_ErrorText(@error))
MsgBox(0, "_TS_TaskUpdate", "Result of _TS_TaskUpdate: @error = " & @error & ", @extended = " & @extended, 3)

; *****************************************************************************
; Check Triggers
; *****************************************************************************
MsgBox(0, "_TS_TaskUpdate", "Triggers Count after delete: " & $oTaskDefinition.Triggers.Count)

_TS_Close()